#pragma once

#include <QtCore/qglobal.h>

#ifndef BUILD_STATIC
# if defined(CTESTDLL_LIB)
#  define CTESTDLL_EXPORT Q_DECL_EXPORT
# else
#  define CTESTDLL_EXPORT Q_DECL_IMPORT
# endif
#else
# define CTESTDLL_EXPORT
#endif

class CTestPrivate
{
public:
	CTestPrivate() = default;
	~CTestPrivate() = default;
	CTestPrivate(const CTestPrivate&) = delete;
	CTestPrivate(CTestPrivate&&) = delete;
	CTestPrivate& operator=(const CTestPrivate&) = delete;
	CTestPrivate& operator=(CTestPrivate&&) = delete;
	virtual int def_add(int a, int b) = 0;
	virtual int def_sub(int c, int d) = 0;
	virtual void ReleaseObj() = 0;
};

extern "C" CTESTDLL_EXPORT CTestPrivate * __stdcall GetObject();

